﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Engine.Sgml {
    /// <summary>
    /// Specifies the type of SGML element.
    /// </summary>
    public enum SgmlNodeType {
        /// <summary>
        /// This is returned if a node is not initialized.
        /// </summary>
        None,
        /// <summary>
        /// The document type declaration.
        /// </summary>
        DocumentType,
        /// <summary>
        /// A document object that, as the root of the document tree, provides access
        /// to the entire SGML document.
        /// </summary>
        Document,
        /// <summary>
        /// An element.
        /// </summary>
        Element,
        /// <summary>
        /// An attribute.
        /// </summary>
        Attribute,
        /// <summary>
        /// Whitespace between markup.
        /// </summary>
        WhiteSpace,
        /// <summary>
        /// White space between markup in a mixed content model.
        /// </summary>
        SignificantWhiteSpace,
        /// <summary>
        /// The text content of a node.
        /// </summary>
        Text,
        /// <summary>
        /// A comment.
        /// </summary>
        Comment,
        /// <summary>
        /// An end element tag. For internal use only.
        /// </summary>
        EndElement,
        /// <summary>
        /// A character data section.
        /// </summary>
        CData,
        /// <summary>
        /// A CDATA section that is marked for the parser to interpret as only character data, not markup.
        /// </summary>
        CDataSection,
        /// <summary>
        /// A conditional comment.
        /// </summary>
        Condition,
        /// <summary>
        /// A processing instruction allow documents to contain instructions for applications.
        /// </summary>
        ProcessingInstruction
        }
    }
